1. Field of the Invention
This invention relates in general to efficient small block memory allocation for computer programs.
2. Description of Related Art
Operating systems provide functions that are used by application programs for the allocation and de-allocation of memory. Typically, an application program reserves a region of virtual memory that it commits as necessary to store data structures and their actual contents. If the data structures are dynamic and continue to grow in size, the application program can commit additional memory from the reserved region.
These functions must be generalized in such a way that they provide the best performance for a wide variety of application programs. As a result, the functions are not optimized to provide the best performance, for example, for requests to allocate small blocks of memory. Thus, there is a need in the art for improved techniques for the allocation and de-allocation of memory, especially when the requested blocks are small.